Guarded Sections: Structuring Aid for Wait-Free Synchronisation
نویسندگان
چکیده
Wait-free synchronisation gives any process in the system strong progress guarantees, irrespective of number and behaviour of other processes simultaneously competing for shared resources (i.e., data structures and code sections). It ensures completion of any operation in a finite number of steps and, thus, provides the basis to derive bounded above or even constant executions times for each of these operations of the non-sequential programs. This characteristic is of special meaning for timedependent processes typical for real-time (embedded) systems. Unfortunately, wait-free synchronisation against the background of arbitrary data and code structures is no bed of roses. This paper is about a two-stage approach of organising nonsequential programs to the benefit of wait-free synchronisation. In a preceding constructional stage, conventional critical sections are designed as so called guarded sections. Other than critical sections, processes never block at entrance to a guarded section although only one process at a time is allowed to pass through. Competing processes are forced into bypass but, if necessary and by using futures, they can synchronise on concurrent state changes inside the respective section. In consequence of this measure, the execution model of guarded sections constrains the overlapping pattern of interacting (simultaneous) processes. Thereby, in the downstream transactional stage, efficient waitfree synchronisation of the “guarding operations” is gratifying by-product. First experimental results made with a 80-way multi-core system show that non-blocking wait-free synchronised guarded sections outperform MCS-locks.
منابع مشابه
An Experiment in Wait-Free Synchronisation of Priority-Controlled Simultaneous Processes: Guarded Sections
Wait-free synchronisation gives any process in the system strong progress guarantees, irrespective of number and behaviour of other processes simultaneously competing for shared resources (i.e., data structures and code sections). It ensures completion of any operation in a finite number of steps and, thus, provides the basis to derive bounded above or even constant executions times for non-seq...
متن کاملPredictable Synchronisation Algorithms for Asynchronous Critical Sections
Multi-core processors are ubiquitous. Even embedded systems nowadays use processors with multiple cores. Such use cases often impose latency requirements because they interact with physical objects. One consequence is a need for synchronisation algorithms that provide predictable latency, in addition to high throughput. A promising approach are asynchronous critical sections that avoid waiting ...
متن کاملTeachers’ Limited Wait-Time Practice and Learners’ Participation opportunities in EFL Classroom Interaction
Pairing theory with methodology, this study demonstrates how EFL teachers’ limited wait-time practice structures in and affects the structuring of the unfolding classroom discourse with reference to learners’ participation opportunities. Informed by the tenets of conversation analysis, we have observed, videotaped, and transcribed line-by-line 10 EFL teachers’ naturally-occurring classroom inte...
متن کاملA Model of Guarded Recursion With Clock Synchronisation
Guarded recursion is an approach to solving recursive type equations where the type variable appears guarded by a modality to be thought of as a delay for one time step. Atkey and McBride proposed a calculus in which guarded recursion can be used when programming with coinductive data, allowing productivity to be captured in types. The calculus uses clocks representing time streams and clock qu...
متن کاملApplications of wait/lock-free protocols to real-time systems
In most real-time systems, concurrency and access to shared resources are controlled by locking. A serious disadvantage is that locking may give rise to priority inversion, i.e. situations in which a high-priority task has to wait for a low-priority task to release a lock. That is a serious problem, because it can make a task miss its deadline, which, in turn can cause various types of disaster...
متن کامل